#include <iostream>

// class Test
// {
// public:
//     static int a; // 静态成员变量    不属于某个特定的对象，属于整个类
//     Test()
//     {
//         a++;
//     }
//     ~Test()
//     {
//         a--;
//     }
// };

class Test
{
public:
    Test()
    {
    }
    static void func() // 静态成员函数
    // 不需要依赖对象调用
    // 普通成员变量不能使用
    // 使用静态成员变量
    {
        a++;
    }
    ~Test()
    {
    }
    static int a;
};

/*不能在构造函数中初始化，只能在类外单独定义*/
int Test::a = 0;

int main()
{
    // Test t;
    // Test t2;
    // t.a++;
    // std::cout <<t2.a<< std::endl;

    Test *t1 = new Test;
    Test *t2 = new Test;

    delete t1;
    delete t2;
    std::cout << Test::a << std::endl;

    return 0;
}